home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / Apps / ScreenSavers / BackSpaceViews / SparseLifeView.BackModule / Thinker.h < prev   
Text File  |  1995-06-12  |  4KB  |  200 lines

  1.  
  2. #define IB_PARSE_HACK 0
  3.  
  4. #import <appkit/Application.h>
  5. #import <dpsclient/dpsNeXT.h>
  6. #include <sys/resource.h>
  7.  
  8. #define NOWINDOW        (0)
  9. #define NORMALWINDOW    (1)
  10. #define BACKWINDOW        (2)
  11.  
  12. #define SAVERTIER (50)
  13.  
  14. // I'm not at all happy with BackSpace's time handling; it only works
  15. // for 49 days after rebooting (according to my calculations... I boot
  16. // a lot more often than that!) since it counds milliseconds in a
  17. // 32 bit unsigned int.  This problem would be solved if I stuffed the
  18. // time in a long long, but I think the compiler doesn't correctly do
  19. // 64 bit comparisons.  Time should probably stay in the unix
  20. // timeval struct.  Yuck! guess I should write functions for time
  21. // addition and comparison...
  22.  
  23. // typedef long long BStimeval;  //doesn't work
  24. typedef unsigned BStimeval;
  25.  
  26. enum BSEvents {BSDOSAVER, BSOPENFILE};
  27.  
  28. BStimeval currentTimeInMs();
  29.  
  30. float frandom();
  31. float randBetween(float a, float b);
  32.  
  33. @interface Thinker:Object
  34. {
  35.     id    spaceView;
  36.     
  37.     id    spaceWindow;
  38.     id    normalWindow;
  39.     id    bigUnbufferedWindow;
  40.     id    bigBufferedWindow;
  41.  
  42.     BOOL timerValid, keepLooping;
  43.     BOOL doingSaver;
  44.     DPSTimedEntry timer;
  45.     
  46.     int windowType;
  47.     int realViewIndex;
  48.     int virtualViewIndex;
  49.     NXRect windowRect;
  50.     
  51.     NXZone *backZone;
  52.     
  53.     int screenCount;
  54.     id windMatrix;
  55.  
  56.     id screenSaver;
  57.     id screenLocker;
  58.     BOOL screenSaverVal;
  59.     id mySlider;
  60.  
  61.     id priorityLevel;
  62.     int priority;
  63.     int realDimInterval;
  64.     
  65.     int evs;    //event driver file descriptor
  66.     int oldDimBrightness, normalBrightness;
  67.     int dimTime;
  68.     
  69.     id myColorWell;
  70.     id viewSelectionBrowser;
  71.     id moduleList;
  72.     id imageView;
  73.     NXScreen *screens;
  74.     id screenList;
  75.  
  76.     id image;
  77.     int globalTier;
  78.     
  79.     id password;
  80.     
  81.     id invisibleInspectorBox;
  82.     id commonImageInspector;
  83.     id nullInspector;
  84.     id spaceInspector;
  85.     id currentInspector;
  86.     NXRect inspectorFrame;
  87.     id oldInspectorOwner;
  88.     BOOL browserValid;
  89.  
  90.     
  91.     char *fileToOpen;
  92.     BOOL openAnother;
  93. }
  94.  
  95. - appDidInit:sender;
  96. - appDidHide:sender;
  97. - appDidUnhide:sender;
  98. - createTimer;
  99. - removeTimer;
  100. - doDistributorLoop;
  101.  
  102. - installSpaceViewIntoWindow:w;
  103. - useNormalWindow;
  104. - (int) backingTypeForView:aView;
  105. - useBackWindow:(int)tier;
  106. - createBigWindowIfNecessaryForView:aView;
  107.  
  108. - getWindowType;
  109. - changeWindowType:sender;
  110. - changeWindowTypeAndRemember:(BOOL)rem;
  111.  
  112. - getScreenSaverSetting;
  113. - changeScreenSaverSetting:sender;
  114. - setScreenSaver:(BOOL)val andRemember:(BOOL)rem;
  115. - calcDimTime;
  116. - maybeDoScreenSaver:sender;
  117. - applicationDefined:(NXEvent *)theEvent;
  118. - doScreenSaverAndResetTimer;
  119. - showFakeScreenSaver:sender;
  120. - doScreenSaver:sender;
  121.  
  122. - getPrioritySetting;
  123. - changeSliderValue:sender;
  124. - saveSliderValue;
  125.  
  126. - setImageFromFile: (const char *) filename;
  127. - setImageFromName: (const char *) name;
  128. - commonImageInit;
  129. - getImageFile;
  130. - setImageFileFrom: sender;
  131.  
  132. #if !IB_PARSE_HACK
  133. @end
  134.  
  135.  
  136. @interface Thinker(thinkMore)
  137. #endif
  138.  
  139. - getBackgroundColor;
  140. - setBackgroundColor:sender;
  141.  
  142. - getViewType;
  143. - selectRealViewIndex:sender;
  144. - setVirtualViewIndexAndIncrement:(BOOL)flag;
  145. - selectScreenSaverViews;
  146. - setWindowTitle;
  147.  
  148. - getScreenLockerSetting;
  149. - changeScreenLockerSetting:sender;
  150. - setScreenLocker:(BOOL)val andRemember:(BOOL)rem;
  151.  
  152. - backView;
  153.  
  154. #if !IB_PARSE_HACK
  155. @end
  156.  
  157.  
  158. @interface Thinker(ioctls)
  159. #endif
  160.  
  161. - normalMode;
  162. - screenSaverMode;
  163.  
  164. - blackOutAllScreens;
  165. - unBlackOutAllScreens;
  166.  
  167. - getDimBrightness:(int *)b;
  168. - _setDimBrightness :(int *)b;
  169.  
  170. - getNormalBrightness :(int *)b;
  171.  
  172. - getDimTime :(int *)t;
  173. - getDimInterval :(int *)i;
  174. - setDimInterval :(int *)i;
  175.  
  176. - getDimStatus :(int *)s;
  177.  
  178. #if !IB_PARSE_HACK
  179. @end
  180.  
  181. @interface Thinker(inspector)
  182. #endif
  183.  
  184. - commonImageInspector;
  185. - nullInspector;
  186. - spaceInspector;
  187. - revertToDefaultImage:sender;
  188. - (BOOL)browser:sender columnIsValid:(int)column;
  189. - addCellWithString:(const char *)str at:(int)row toMatrix:matrix;
  190. - (int)browser:sender fillMatrix:matrix inColumn:(int)column;
  191.  
  192. - loadViewsFrom: (const char *) dirname;
  193. - doDelayedOpenFile;
  194.  
  195. - (const char *) appDirectory;
  196. - (const char *) moduleDirectory:(const char *)name;
  197.  
  198. @end
  199.  
  200.